The widespread adoption of ‘smart’ portable computing devices, such as smartphones, by consumers and availability of vast amounts of cloud-based computing resources have led to what is known as the “cloud-edge topology”. These smart portable computing devices are termed ‘smart’ in that processor and memory advancements allow these devices to have substantial computing resources available to the user. Smart portable computing devices can generate real-time data such as GPS location, battery consumption, speed, etc. These smart portable computing devices can also be thought of as cloud-edge devices in that communication between an individual device and the cloud-based resources can be thought of as an edge.
Given the substantial computing resources available on the smart portable computing device, the user may select various applications to run on his/her device. Many of these applications can be termed as cloud-edge applications in that an application instance runs on the smart portable computing device and another application instance runs on the cloud-based computing resources. There exists a broad class of cloud-edge applications that correlate data across multiple smart portable computing devices and the cloud to achieve the application's functionality. An example is a friend-finder application that functions to notify a user if any friends are close by. This application functionality depends upon correlation of real-time locations and slow-changing data such as social networks. While great amounts of computing resources are available on the smart portable computing devices and the cloud-based resources, resource usage, such as communication resources, can be significant when large numbers of smart portable computing devices are running cloud-edge applications.